class User:
    phone = '123456789'
    # 定义类方法
    @classmethod
    def get_pp(cls):
        print('这里是类方法-get_pp:')
        print('电话：', cls.phone)

    @classmethod
    def set_pp(cls):
        print('这里是类方法-set_pp:')
        print('电话：', cls.phone)
        print('调用类方法-get_pp:')
        cls.get_pp()

class Person:
    age = 26

    @classmethod
    def show_class(cls):
        print('使用类名.属性名访问类属性-age:', Person.age) # 26
        # 第二种方法常用-修改类名后，不需要改动类方法的代码
        print('使用cls.属性名访问类属性-age:', cls.age)   # 26


def start_User():
    # User.get_pp()
    # User.set_pp()
    user = User()
    user.get_pp()
    print('-----------------')
    user.set_pp()

def start_Person():
    # 通过类名调用类方法
    # Person.show_class()
    person = Person()
    # 通过实例调用类方法
    person.show_class()

if __name__ == '__main__':
    # start_User()
    start_Person()